home *** CD-ROM | disk | FTP | other *** search
- #ifndef _STRINGBUF_H_
- #define _STRINGBUF_H_
-
- /** \file lib/stringbuf.h
- *
- */
-
- /**
- */
- typedef /*@abstract@*/ struct StringBufRec *StringBuf;
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /**
- */
- /*@only@*/ StringBuf newStringBuf(void)
- /*@*/;
-
- /**
- */
- /*@null@*/ StringBuf freeStringBuf( /*@only@*/ /*@null@*/ StringBuf sb)
- /*@modifies sb @*/;
-
- /**
- */
- /*@unused@*/
- void truncStringBuf(StringBuf sb)
- /*@modifies sb @*/;
-
- /**
- */
- /*@observer@*/ char * getStringBuf(StringBuf sb)
- /*@*/;
-
- /**
- */
- void stripTrailingBlanksStringBuf(StringBuf sb)
- /*@modifies sb @*/;
-
- /**
- */
- #define appendStringBuf(sb, s) appendStringBufAux(sb, s, 0)
-
- /**
- */
- #define appendLineStringBuf(sb, s) appendStringBufAux(sb, s, 1)
-
- /**
- */
- void appendStringBufAux(StringBuf sb, const char * s, int nl)
- /*@modifies sb @*/;
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* _STRINGBUF_H_ */
-